今天宠物迷的小编给各位宠物饲养爱好者分享js滑块效果的宠物知识,其中也会对js如何实现惯性滑动效果(js移动端左右滑动效果)进行专业的解释,如果能碰巧解决你现在面临的宠物相关问题,别忘了关注本站哦,现在我们开始吧!
主要思路是:鼠标当前点到下一点直接间隔计算出速度。这样就实现了惯性滑动效果。下面是简单的js代码实现:仅供参考: #div1{ width:100px; height:100px; background:red; position:absolute; left:0px; top:0;} window.onload=function(){ var oDiv=document.getElementById('div1'); var iSpeedX=0; var iSpeedY=0; var lastX=0; var lastY=0; var timer=null; oDiv.onmousedown=function(ev){ //div的鼠标按下事件,主要计算鼠标当前位置,和移动位置。这样可以计算出鼠标移动速度。 var oEvent=ev || event; var disX=oEvent.clientX-oDiv.offsetLeft; var disY=oEvent.clientY-oDiv.offsetTop; clearInterval(timer); document.onmousemove=function(ev){ //鼠标拖动事件。 var oEvent=ev || event; oDiv.style.left=oEvent.clientX-disX+'px'; oDiv.style****=oEvent.clientY-disY+'px'; iSpeedX=oEvent.clientX-lastX; iSpeedY=oEvent.clientY-lastY; lastX=oEvent.clientX; lastY=oEvent.clientY; } document.onmouseup=function(){ //当鼠标抬起后,清掉移动事件。 document.onmousemove=null; document.onmouseup=null; oDiv.releaseCapture && oDiv.releaseCapture(); startMove(); } oDiv.setCapture && oDiv.setCapture(); return false; } function startMove(){ //移动函数,主要操作是计算鼠标移动速度和移动方向。 clearInterval(timer); timer=setInterval(function(){ iSpeedY+=3; var t=oDiv.offsetTop+iSpeedY; var l=oDiv.offsetLeft+iSpeedX; if(t>document.documentElement.clientHeight-oDiv.offsetHeight){ t=document.documentElement.clientHeight-oDiv.offsetHeight; iSpeedY*=-0.8; iSpeedX*=0.8; } if(tdocument.documentElement.clientWidth-oDiv.offsetWidth){ l=document.documentElement.clientWidth-oDiv.offsetWidth; iSpeedX*=-0.8; iSpeedY*=0.8; } if(l
IE: scrollWidth:获取对象的滚动宽度 scrollHeight: 获取对象的滚动高度。 scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离 scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离 document.documentElement.scrollTop 垂直方向滚动的值 火狐下不是很确定,但是可以测试下。
通过div的scrollTop变动控制垂直滚动条位置。
通过div的scrollLeft变动控制水平滚动条位置。
示例
//d1是外层div,带滚动条
2222
document.getElementById('d1').scrollTop=100;//通过scrollTop设置滚动到100位置
document.getElementById('d1').scrollLeft=200;//通过scrollTop设置滚动到200位置
主要思路是:鼠标当前点到下一点直接间隔计算出速度。这样就实现了惯性滑动效果。 下面是简单的js代码实现:仅供参考: #div1{ width:100px; height:100px; background:red; position:absolute; left:0px; top:0;} window.onload=function(){ var oDiv=document.getElementById('div1'); var iSpeedX=0; var iSpeedY=0; var lastX=0; var lastY=0; var timer=null; oDiv.onmousedown=function(ev){ //div的鼠标按下事件,主要计算鼠标当前位置,和移动位置。这样可以计算出鼠标移动速度。 var oEvent=ev || event; var disX=oEvent.clientX-oDiv.offsetLeft; var disY=oEvent.clientY-oDiv.offsetTop; clearInterval(timer); document.onmousemove=function(ev){ //鼠标拖动事件。 var oEvent=ev || event; oDiv.style.left=oEvent.clientX-disX+'px'; oDiv.style****=oEvent.clientY-disY+'px'; iSpeedX=oEvent.clientX-lastX; iSpeedY=oEvent.clientY-lastY; lastX=oEvent.clientX; lastY=oEvent.clientY; } document.onmouseup=function(){ //当鼠标抬起后,清掉移动事件。 document.onmousemove=null; document.onmouseup=null; oDiv.releaseCapture && oDiv.releaseCapture(); startMove(); } oDiv.setCapture && oDiv.setCapture(); return false; } function startMove(){ //移动函数,主要操作是计算鼠标移动速度和移动方向。 clearInterval(timer); timer=setInterval(function(){ iSpeedY+=3; var t=oDiv.offsetTop+iSpeedY; var l=oDiv.offsetLeft+iSpeedX; if(t>document.documentElement.clientHeight-oDiv.offsetHeight){ t=document.documentElement.clientHeight-oDiv.offsetHeight; iSpeedY*=-0.8; iSpeedX*=0.8; } if(t<0){ t=0; iSpeedY*=-0.8; iSpeedX*=0.8; } if(l>document.documentElement.clientWidth-oDiv.offsetWidth){ l=document.documentElement.clientWidth-oDiv.offsetWidth; iSpeedX*=-0.8; iSpeedY*=0.8; } if(l<0){ l=0; iSpeedX*=-0.8; iSpeedY*=0.8; } oDiv.style.left=l+'px'; oDiv.style****=t+'px'; if(Math.abs(iSpeedX)<1)iSpeedX=0; if(Math.abs(iSpeedY)<1)iSpeedY=0; if(iSpeedX==0 && iSpeedY==0 && t==document.documentElement.clientHeight-oDiv.offsetHeight){ clearInterval(timer); } document.title=i++; },30); } };
主要思路是:鼠标当前点到下一点直接间隔计算出速度。这样就实现了惯性滑动效果。下面是简单的js代码实现:仅供参考: #div1{ width:100px; height:100px; background:red; position:absolute; left:0px; top:0;} window.onload=function(){ var oDiv=document.getElementById('div1'); var iSpeedX=0; var iSpeedY=0; var lastX=0; var lastY=0; var timer=null; oDiv.onmousedown=function(ev){ //div的鼠标按下事件,主要计算鼠标当前位置,和移动位置。这样可以计算出鼠标移动速度。 var oEvent=ev || event; var disX=oEvent.clientX-oDiv.offsetLeft; var disY=oEvent.clientY-oDiv.offsetTop; clearInterval(timer); document.onmousemove=function(ev){ //鼠标拖动事件。 var oEvent=ev || event; oDiv.style.left=oEvent.clientX-disX+'px'; oDiv.style****=oEvent.clientY-disY+'px'; iSpeedX=oEvent.clientX-lastX; iSpeedY=oEvent.clientY-lastY; lastX=oEvent.clientX; lastY=oEvent.clientY; } document.onmouseup=function(){ //当鼠标抬起后,清掉移动事件。 document.onmousemove=null; document.onmouseup=null; oDiv.releaseCapture && oDiv.releaseCapture(); startMove(); } oDiv.setCapture && oDiv.setCapture(); return false; } function startMove(){ //移动函数,主要操作是计算鼠标移动速度和移动方向。 clearInterval(timer); timer=setInterval(function(){ iSpeedY+=3; var t=oDiv.offsetTop+iSpeedY; var l=oDiv.offsetLeft+iSpeedX; if(t>document.documentElement.clientHeight-oDiv.offsetHeight){ t=document.documentElement.clientHeight-oDiv.offsetHeight; iSpeedY*=-0.8; iSpeedX*=0.8; } if(tdocument.documentElement.clientWidth-oDiv.offsetWidth){ l=document.documentElement.clientWidth-oDiv.offsetWidth; iSpeedX*=-0.8; iSpeedY*=0.8; } if(l
css3动画执行的快慢,这里是慢进快出,表示动画执行先慢后快
搜索极验验证 里面有滑块验证教程和代码 自己写多费劲
普通模式:(当前块-之前块)x宽度
move=(mySwiper.activeIndex-mySwiper.previousIndex)*mySwiper.width ;
free模式:现在第一块的相对swiper位置-滑动之前位置
onFirstInit: function(swiper){
location1=mySwiper.slides[0].getOffset().left;
}
其他事件{
location2=mySwiper.slides[0].getOffset().left;
move=location2-location1-mySwiper.positions.start;
}
不知道你是要的那种效果:类似于这种的吗?下面两种仅供参考。 鼠标移入显示文本#body1{width:960px; height:auto; margin:20px auto 0px auto}#body1 ul{}#body1 li{float:left; width:239px; text-align:center; height:318px; position:relative}#body1 img{ position:absolute; top:0px; left:5px}#body1 span{display:block; position:absolute; background:#666; height:70px;bottom:0px; left:5px; width:220px;color:#fff; opacity:0.7}$(function(){ $('#body1 li').find('span').hide(); //隐藏全部 $('#body1 li').hover(function(){ $(this).find('span').stop(true,true).slideDown(); },function(){ $(this).find('span').stop(true,true).slideUp(); }); }); 说明内容说明内容说明内容说明内容 说明2内容说明内容说明内容说明内容 说明3内容说明内容说明内容说明内容 说明4内容说明内容说明内容说明内容 第二种:还有一种是用的css3实现的, 实现原理:刚开始框就存在了,只不过透明度为全透明,鼠标移入后透明度不透明就显示出来了,框稍微动画一些的话就用到css3的旋转之类的了。如下图 css3练习#bt{width:100%; height:50px; font-size:20px; background:#06F; color:#fff; text-align:center; line-height:50px; margin-bottom:10px}figure{position:relative; width:33.33%; height:270px; float:left; overflow:hidden}figure img{width:100%; opacity:0.9;transition: all 0.35s;}figcaption{position:absolute; top:10px; left:10px; color:#fff; font-family:"微软雅黑"}@media screen and (max-width:600px){ figure{width:100%} }@media screen and (max-width:1000px) and (min-width:601px){ figure{width:50%} }@media screen and (min-width:1001px){ figure{width:33.33%} }.d2{background:#000}.d2 figcaption{width:100%; height:100%;}.d2 figcaption h2{margin-top:10%;margin-left:15%}.d2 figcaption p{margin-top:5%;margin-left:15% ;transform:translate(0px,50px); opacity:0}.d2 figcaption div{width:80%; height:60%; border:5px solid white; position:absolute; top:10%; left:10%; transform:translate(0px,-210px) rotate(0deg)}.d2:hover figcaption div{ transform:translate(0px,0px) rotate(180deg);}.d2:hover img{ opacity:0.7}.d2:hover figcaption p{margin-top:5%;margin-left:15%; font-size:17px; font-weight:bold; transform:translate(0px,0px);opacity:1}/*----------------------------end-------------------------------------------*/ CSS3.0的样式练习 旋转动画 飞来飞去,飞来飞舞
本文由宠物迷 百科常识栏目发布,非常欢迎各位朋友分享到个人朋友圈,但转载请说明文章出处“js如何实现惯性滑动效果”